package models

import "gorm.io/gorm"

type Voucher struct {
	gorm.Model
	Id          int    `gorm:"column:id;primary_key;AUTO_INCREMENT" json:"id"`
	ShopId      int    `gorm:"column:shop_id" json:"shopId"`
	Title       string `gorm:"column:title" json:"title"`
	SubTitle    string `gorm:"column:sub_title" json:"subTitle"`
	Rules       string `gorm:"column:rules" json:"rules"`
	PayValue    int    `gorm:"column:pay_value" json:"payValue"`
	ActualValue int    `gorm:"column:actual_value" json:"actualValue"`
	Type        int    `gorm:"column:type" json:"type"`
	Status      int    `gorm:"column:status" json:"status"`
	Stock       int    `gorm:"-" json:"stock"`
	BeginTime   MyTime `gorm:"-" json:"beginTime"`
	EndTime     MyTime `gorm:"-" json:"endTime"`
}

type VoucherVo struct {
	gorm.Model
	Id          int    `gorm:"column:id;primary_key;AUTO_INCREMENT" json:"id"`
	ShopId      int    `gorm:"column:shop_id" json:"shopId"`
	Title       string `gorm:"column:title" json:"title"`
	SubTitle    string `gorm:"column:sub_title" json:"subTitle"`
	Rules       string `gorm:"column:rules" json:"rules"`
	PayValue    int    `gorm:"column:pay_value" json:"payValue"`
	ActualValue int    `gorm:"column:actual_value" json:"actualValue"`
	Type        int    `gorm:"column:type" json:"type"`
	Status      int    `gorm:"column:status" json:"status"`
	Stock       int    `gorm:"column:stock" json:"stock"`
	BeginTime   MyTime `gorm:"column:begin_time" json:"beginTime"`
	EndTime     MyTime `gorm:"column:end_time" json:"endTime"`
	CreateTime  MyTime `gorm:"column:created_at" json:"createTime"`
	UpdateTime  MyTime `gorm:"column:updated_at" json:"updateTime"`
}

func (Voucher) TableName() string {
	return "tb_voucher"
}
func (VoucherVo) TableName() string {
	return "tb_voucher"
}
